Tutorial: Primeiros passos

Abrir, Editar e Salvar arquivos no block.ino


Na parte superior da interface do block.ino é possível salvar seus códigos com nome específico. Assim como, abrir, editar e salvar novamente o arquivo. Todos os arquivos são salvos com extensão XML ou .ino (extensão utilizada pela IDE Arduino).


Abrir,


Menu block.ino


Para abrir, salvar ou deletar todos os blocos (arquivo), assim como mudar o idioma do block.ino, acessar os exemplos e fazer um Tour pela interface do block.ino, basta clicar no ícone de menu (três linha horizontais) no canto superior esquerdo que o menu lateral do block.ino abrirá.

Neste menu lateral também é possível acessar exemplo prontos para os componentes do block.ino e verificar o funcionamento destes componentes.

Os links para acessar o Guia do block.ino e os documentos - Docs, do block.ino podem ser acessados neste menu lateral.


Menu


Menu de Categorias


O Menu com as categorias do blocos do block.ino está situado no lado esquerdo da interface. As categorias disponíveis neste menu incluem funções para linguagens de programação e para programação arduino, entre outras.

Estas categorias contém blocos: Lógicos, Iterações (Loops), Matemática, Textuais, Variáveis, Funções, Entrada/Saída, Tempo, Motores, Comunicação, Visores e Sensores.

Para trabalhar com os blocos das categorias, basta clicar sobre a categoria e selecionar e arrastar os blocos necessários para execução dos códigos.


Menu


Compilar e Enviar os códigos para o block.ino


Após selecionar os blocos e montar o seu código, é essencial clicar no ícone vermelho acima dos blocos para compilar e, em seguida clicar no ícone azul (forma de seta) para enviar seu código para upload na placa Arduino.

Em seguida será feito o processamento pelo microcomputador Raspberry Pi e pela placa de arduino para demonstração no streaming de vídeo dos resultados da execução dos códigos.


Compilar


Código Fonte, Diagrama do Circuito, Serial Monitor e Vídeo Streaming


No lado direito da interface do block.ino encontram-se as abas do Vídeo Streaming (Live Streaming), Serial Monitor, Código Fonte (Source Code) e do Diagrama do Circuito (Circuit Diagram).

A aba do Código Fonte mostrará os códigos que serão compilados, incluindo as funções do arduino (void setup e void loop), exatamente como a IDE Arduino.

A aba do Serial Monitor apresenta, por exemplo, as leituras dos sensores de temperatura, umidade e luminosidade.

A aba do Circuito do Diagrama apresenta os componentes das instâncias do block.ino, onde é possível verificar as entradas e saídas digitais e analógicas do arduino para a montagem dos blocos corretamente.

A aba do Vídeo Streaming mostrará a execução dos códigos fonte e os componentes funcionando em tempo real.


Código


Arrastar e verificar códigos


Após selecionar a categoria dos blocos, clique sobre o bloco que gostaria de arrastar e posicione-o na tela central.

Para cada função a ser realizada existem blocos específicos e estes devem se encaixar, caso contrário o código não será executado pela IDE Arduino e o block.ino não apresentará o vídeo streaming com o funcionamento da atividade.

Em caso de erro ao encaixar os blocos será mostrado um ícone com um ponto de exclamação, como apresentado no segundo conjunto de blocos da imagem.

Ao lado, na aba do Código Fonte é demonstrado o seu código fonte, incluindo as duas funções do ambiente arduino, onde é possível verificar os pinos utilizados e as funções que serão executadas pelo block.ino.


Arrastar


Como mostrar dados nos Visores/Displays


Para escrever e visualizar caracteres no display é necessário clicar no menu das categorias e selecionar na categoria “Visores/Displays” os blocos necessários, como, por exemplo, os blocos da imagem a seguir.

No display LCD 16x2, o primeiro valor significa que este possui 16 colunas e o segundo valor que possui 2 linhas. No exemplo na imagem abaixo, a palavra “Ola” aparecerá na coluna zero e linha zero como apresentado no código fonte na linha “lcd.setCursor(0,0).


Como


Ligar e desligar Leds (Piscar)


Para acionar os leds do block.ino é necessário selecionar os blocos especificos na categoria “Entrada/saída – Input/output”, assim como selecionar os blocos de tempo na categoria “Tempo/Time”. Para o tempo padrão para piscar os leds, utilize o bloco “espera 1000 milisegundos”.

Na aba do código fonte, as duas funções da IDE Arduino são apresentadas. Na função “void setup()” é mostrado o pino o qual está conectado o led e na função “void loop()” o que será executado, ou seja, o led conectado no pino 3 acenderá e apagará com intervalo de tempo(delay) de 1000 milisegundos.


Ligar


Ligar e Desligar Led RGB (Piscar)


Para acionar o led RGB é essencial verificar no diagrama do circuito quais pinos analógicos estão sendo utilizados por este led. Em seguida na categoria “Entrada/saída – Input/output” selecionar os blocos especificos para os pinos analógicos e, também, utilizar o bloco para inserir o valor do led que está na categoria “Matematica/Math” (primeiro bloco desta categoria).

Para que seja possível visualizar as cores Vermelha (Red), Verde (Green) e Azul (Blue) é necessário selecionar os pinos nos blocos conforme o diagrama do circuito (onde são mostradas as saídas as quais estão conectados estes pinos).

Para alternar a intensidade dos leds, o valor pode ser alterado entre 0 a 255, sendo que o valor de 255 o led acenderá em sua intensidade total, o valor 0 na intensidade mínima. Para valores entre 0 e 255, o led acenderá com intensidades diferentes. Por exemplo, como valor 128, o led acenderá com a metade de sua intensidade.

Para que o led RGB acenda e apague (piscar) é necessário adicionar o bloco da categoria Time/Tempo "espera 1000 milisegundos".


Ligar


Usar Leds com Visores


Para visualizar caracteres nos visores quando são utilizados os blocos para acionar os leds, basta adicionar logo abaixo os blocos da categoria “Visores/Displays” e escrever o que deseja no campo da string “ ”.

Ao lado, na aba “Source Code/Código Fonte”, na linha “lcd.print” é possível visualizar o que o visor mostrará.


Usar


Como usar If e If Else


Os blocos da categoria “Logic/Lógicos” podem ser utilizados conforme uma condição e variáveis definidas pelo usuário.

Para adicionar um "Senão" ao "If" clique no ícone de configuração (engrenagem) ao lado da palavra If (Se) no inicio deste bloco da categoria.

No exemplo abaixo o led que está no pino 3 acenderá ou apagará de acordo com o valor e a condição.

Esta função poderá ser utilizada para os demais componentes do block.ino, inclusive para os sensores e suas leituras. Desta forma, conforme uma leitura do sensor de luminosidade - LDR, por exemplo, se pode fazer um led acender ou não.


Como


Como usar Loop com led


Os blocos da categoria “Loops/Iterações” podem ser acrescentados para criar loops conforme parâmetros determinados pelo usuário. No exemplo abaixo, é utilizado um contador até determinado valor para execução do loop.

Na aba ao lado é possível visualizar o vídeo streaming no momento da execução dos códigos.


Como


Comunicação Serial - Velocidade de comunicação com sensores


Para executar códigos que necessitam da definição da velocidade serial, é essencial selecionar os blocos da categoria “Comms/Comunicação”.

Inicialmente é selecionado é bloco para definir a velocidade serial, que por padrão é usado o valor 9600 bauds, como demonstra a imagem.

Este bloco é fundamental para executar códigos que envolvam os sensores, como sensor de luminosidade (LDR) e sensores de temperatura e umidade (DHT11 e DHT 22).


Comunicação


Acionando Sensores de Temperatura e Umidade - parte 1


Para acionar os sensores de temperatura e umidade é necessário selecionar os blocos da categoria “Sensors/Sensores” e escolher, de acordo com a imagem no diagrama do circuito, a entrada analógica a qual o sensor está conectado.


Acionando


Acionando Sensores de Temperatura e Umidade - parte 2


Na categoria “Sensors/Sensores” é essencial selecionar o bloco para definir se a leitura que será realizada é da temperatura ou da umidade do ambiente.

Este bloco funciona apenas com uso do bloco da categoria “Variables/Variáveis”, como apresentado na imagem na sequência.


Acionando


Acionando Sensores de Temperatura e Umidade - parte 3


Encaixando o o bloco da categoria Sensors/Sensores no bloco da categoria “Variables/Variáveis”, a variável (item) disponível na parte inicial deste bloco auxiliará a leitura dos sensores de temperatura ou umidade e a apresentação dos valores no visor.


Acionando


Acionando Sensores de Temperatura e Umidade - parte 4


Nos blocos da categoria “Variables/Variáveis” é possível mudar o nome das variáveis como a imagem demonstra. Desta forma, se pode relacionar o nome da variável com a função executada por estes códigos.


Acionando


Acionando Sensores de Temperatura e Umidade - parte 5


A variável utilizada para mostrar as leituras dos sensores de temperatura e umidade pode ter valores específicos como demonstra a imagem. Basta clicar na seta neste campo do bloco e alterar para o tipo de valor da variável que gostaria de executar o código.


Acionando


Acionando Sensores de Temperatura e Umidade - parte 6


Na imagem abaixo é apresentado um exemplo de como realizar a leitura nos sensores de Temperatura e Umidade (DHT11 e DHT22), e os blocos de diferentes categorias que foram utilizados.

O bloco da categoria "Comms/Comunicação", que define a velocidade da comunicação serial, deve ficar acima do conjunto dos blocos.

No final do conjunto de blocos é acrescentado o bloco da categoria "Comms/Comunicação" que irá imprimir a variável no visor, além dos blocos da categoria "Displays/Visores".


Acionando


Acionando Sensores de Temperatura e Umidade com visores


As leituras dos sensores de temperatura e umidade podem ser mostradas no visor. Como no exemplo apresentado na imagem, onde a leitura da temperatura é visualizada no display com sua leitura em tempo real e, com blocos extras da categoria “Displays/Visores” para a escrita da palavra “Temperatura”.


Acionando


Enviando código - IDE Arduino


Após enviar o código para o experimento, na aba “Arduino IDE output” (logo abaixo), é possível visualizar que a IDE do arduino está esperando a verificação do código e a requisição do acesso ao block.ino.


Enviando


Código enviado e resultado no Vídeo Streaming


Logo após o envio/upload do código na IDE Arduino, é mostrada a mensagem “Done uploading” (na aba “Arduino IDE output”), e na sequencia o experimento apresenta a execução na protoboard de prototipagem. Como exemplo, na imagem, o led está aceso.


Código


Leitura da luz do ambiente com sensor LDR


Exemplo de como usar o sensor LDR para leituras da luz do ambiente, onde inicialmente, são utilizados os blocos da categoria "Comms/Comunicação" para selecionar a velocidade de comunicação com sensor e arduino.

Assim como, são utilizados blocos da categoria "Variables/Variáveis " para a variável que será apresentada com a leitura do sensor de luminosidade.

São usados, também, o bloco da categoria "Input/Output - Entrada/Saída" para escolher o pino analógico que fará a leitura da luz do ambiente, e os blocos da categoria "Displays/Visores" para mostrar a leitura do sensor no visor.


Leitura


Leitura da luz do ambiente com sensor LDR usando If e Led


Um exemplo da leitura da luz do ambiente usando o sensor LDR com a condição If. Neste exemplo são utilizados os blocos da categoria "Comms/Comunicação" para selecionar a velocidade de comunicação entre o sensor e o arduino.

Também são usados os blocos da categoria "Variables/Variáveis" para que o valor seja apresentado no visor com uso de uma variável para armazenar o valor da leitura do sensor LDR.

Os blocos da categoria "Displays/Visores" são usados para mostrar no visor o valor das leituras do sensor.

Após as leituras do sensor foram acrescentados os blocos da categoria "Logic/Lógico" If/senão com uso da variável e um valor como referência para que um led acenda ou apague.

Foram inseridos os blocos da categoria "Input/Output - Entrada/Saída" para selecionar o pino que está sendo usado pelo Led, e também os blocos da categoria "Time/Tempo" para fazer este led piscar de acordo com a condição do IF.


Leitura